System and method for linking video, services and applications in an interactive television system

ABSTRACT

An interactive television system is provided with an interactive information system by which channels or services interact together. The information system provides informational messages that prompt a user to select an associated channel or service. If selected, the system transfers control to the selected channels or services. If necessary, information associated with the informational messages is provided to the selected channel or service. In a preferred embodiment the informational messages are sequentially displayed video segments. The video segments may be associated with other channels or services in the interactive viewing system. The user may use an input device, by depressing a single button, and launch another channel or service that is associated with the currently displayed video segment.

FIELD OF THE INVENTION

[0001] The present invention relates to an interactive televisioninformation system and, more particularly, to an interactive informationsystem that allows a user to view a sequential display of informationalvideo segments and to actively respond to the informational segments byswitching to related television services in a single step.

BACKGROUND OF THE INVENTION

[0002] As communication technology continues to expand, individuals arefaced with an ever increasing number of information sources. Forexample, many cable television services offer dozens of differentchannels from which a user can choose. Some available satellite systemsclaim to offer hundreds of channels and it is widely expected that cableservices will expand in an effort to match or exceed this capability.Similar gains in the quantity of available programs and services areanticipated in areas of communication other than television.

[0003] This dramatic increase in the amount of available programs andservices greatly increases the amount and type of information accessibleto a user. One common form of information accessible to users isadvertising or product promotion. For example, home shopping networksare television channels dedicated to displaying and advertising variousproducts. Consumers can typically purchase desired products by calling atelephone number displayed with the product.

[0004] Television users are also provided product information through“infomercials.” A typical infomercial provides information andpromotional material about a specific product or product line for anextended period of time, typically for thirty minutes to an hour.Infomercials generally include interviews with satisfied customers anddetailed examples of how to use the product. Again, a user can generallypurchase desired products by calling or writing to a source identifiedin the infomercial.

[0005] A problem with these services is that a user can only passivelywatch information and cannot interactively respond to the informationalmessages. For example, a customer who desires to purchase a productdisplayed cannot do so through the television, but has to use adifferent communication medium, such as a telephone or a mail service.This process is inconvenient and prone to error in that the user mayincorrectly record or miss the opportunity to record the telephonenumber or address, resulting in a lost opportunity to purchase theproduct.

SUMMARY OF THE INVENTION

[0006] The present invention provides an interactive televisioninformation system in which a user can immediately respond toinformational messages without the need for another communicationmedium, such as a telephone or a mail service. The interactivetelevision system provides informational messages that may prompt a userto select an associated action. If the action is selected, the systemtransfers control to another channel or service related to theinformational message.

[0007] In one embodiment, an interactive information system isincorporated into a viewing system which includes a head end in two-waycommunication with a plurality of viewer stations. The viewer stationsare operatively coupled to a controller and an input device, such as aremote control, for providing user commands to the controller.

[0008] The head end provides to the viewer stations a plurality of videosegments, such as informational clips, that are sequentially displayed.Some of the video segments may be associated with other channels orservices in the interactive viewing system. The user may launch thechannel or service associated with a particular video segment bydepressing a single button on the input device while that segment isbeing displayed. Upon launching a new channel or service, the system mayautomatically provide information associated with the user or the users'selection to that channel or service.

[0009] The interactive information system can be used in a variety ofapplications. For example, the video segments may be productadvertisements. In response to a user's selection of an advertisedproduct, the system may launch a service that allows the user topurchase the product. Additionally, the system may provide information(e.g., name of product, advertised price, user's identification orcredit card number, etc.) to the launched service to facilitate andsimplify the purchase of the product.

[0010] The interactive information system may also be used for a varietyof other purposes, such as market research, polling, voting, promotingprograms on other channels and the like.

[0011] These features and others of the present invention will be morereadily apparent from the following detailed description of an exemplarypreferred embodiment which proceeds with reference to the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012]FIG. 1 is a block diagram of an interactive viewing systemincorporating an interactive information system in accordance with apreferred embodiment of the present invention.

[0013]FIG. 2 is an enlarged diagram of a viewer station illustrated inFIG. 1.

[0014]FIG. 3 is a top-level flowchart of an exemplary interactiveinformation system illustrating one manner of sequencing through aplurality of video segments and launching another application based on auser command.

[0015]FIG. 4 is an illustrative display of a video segment displayed bythe illustrated interactive information system.

[0016]FIG. 5 is a flowchart of the illustrated interactive informationsystem showing one manner of sequencing through a plurality of videosegments including an initialization routine.

[0017]FIG. 6 is a block diagram showing one example of a hierarchicalstructure of objects used to implement the plurality of video segmentsof FIG. 5.

[0018]FIGS. 7A, B, C and D illustrate an exemplary data structure usingthe hierarchical structure of FIG. 6.

DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENT

[0019] A simple block diagram of an exemplary interactive viewing system10 into which the present interactive information system can beincorporated is illustrated in FIG. 1. The interactive viewing system 10has a central head end 12 that supplies programming over a network 14 tomultiple viewer stations 16 that are typically located in the homes ofsystem users or subscribers. Each viewer station typically includes aninteractive station controller 18, a video display 20, and a user inputdevice 22. The viewer stations 16 accept user input and can, in additionto receiving programming from the head end 12, transmit information backto the head end. In this manner, the interactive viewing system 10,allows for independent two-way communication between the head end 12 andeach of the viewer stations 16.

[0020] The interactive viewing system 10, which is an interactivetelevision system in the illustrated example, serves as an operatingenvironment for implementing the interactive information system inaccordance with a preferred embodiment of the present invention. Ofcourse, it should be appreciated that the interactive information systemof the present invention can be implemented in a variety of otherenvironments and may be adapted to a wide variety of systems. Inparticular, the programming provided by the head end 12 is not limitedto traditional television programs. Rather, the programming may includestandard analog video signals (e.g., NTSC, PAL or SECAM), digital videosignals (e.g., MPEG1 or MPEG2), digital information related tocomputer-executed applications, or other types of programming. Thepresent information system is suitable for use with systems offering avariety of program formats and types.

[0021] For purposes of simplicity, the interactive viewing system 10 isdescribed with reference to widely available systems and standards,including conventional analog television receivers and cable-based videonetworks. It should also be appreciated, however, that the particularcomponents of the interactive viewing system 10 may be implemented inaccordance with a variety of conventions, standards, or technologieswithout departing from the underlying concepts of the present invention.For example, the conventional analog television receivers andcable-based video network illustrated in FIG. 1 could be implemented asdigital video receivers and a satellite downlink transmission system,respectively. Likewise, the cable-based network could be an electricallyconductive cable network, an optically conductive cable network, someother network technology, or a combination of these technologies.

[0022] As shown in FIG. 1, the head end 12 of the illustratedinteractive viewing system includes a digital local area network (LAN)24 that includes multiple computer servers 26 for performing variousinteractive system applications or functions and a digital communicationgateway 28 to a wide area network (WAN) (not shown). The servers 26,which store and process information at the head end, may include, forexample, service and application servers 30, continuous media servers32, and electronic program guide data servers 34.

[0023] The service and application servers 30 process interactiveservice requests from subscribers and provide services and applicationsassociated with network security, monitoring, object storage, financialtransactions, data access, and other administrative functions. Thecontinuous media servers 32 provide storage and on-demand or nearon-demand delivery of digitized video information. The digitized videoinformation can include video programming of substantially any durationranging from individual image frames and brief video clips tofull-length motion pictures. The digitized video information may be usedin conjunction with a variety of applications, such as the presentinformation system. A viewer can access such applications by tuning to adesignated channel on their interactive viewing system 10 as will befurther described.

[0024] The electronic program guide data server 34 stores programschedule information. For example, the program schedule information mayinclude a program schedule database that identifies what program isavailable on a given channel at a given time. The program scheduleinformation may also contain additional information about any particularprogram, such as, a brief description of the program, the stars of theprogram, a link to a video preview (stored on the continuous mediaserver 32) for the program, whether the program is closed captioned,whether the program is stereo or a variety of other information. Suchinformation is commercially available, for example, from Tribune MediaServices or TV Data, both of Glens Falls, N.Y. Preferably, suchinformation is delivered to the head end 12 via the digitalcommunication gateway 28 and an associated wide area network.

[0025] As used here, the servers 26 may include various types ofmemories for storing information and various types of processors forprocessing information. Various functions of the servers described heremay be combined so as to be carried out by a single server or may bedivided and allocated among more than one server. Moreover, there maylikely be a variety of functions and services carried out by the servers26 which are not described here. The servers 26 communicate with theviewer stations 16 via a network communication switch 36, such as anasynchronous transfer mode (ATM) switch. For communication from theservers 26 to the viewer stations 16, the network communication switch36 arranges digital information from the servers 26 in a standardbidirectional digital communication format for transmission over thenetwork 14. For communication from the viewer stations 16 to the servers26, the network communication switch 36 converts digital informationfrom a standard bidirectional digital communication format for deliveryto the servers 26.

[0026] In the exemplary system illustrated in FIG. 1, digitalinformation from the servers 26 is frequency modulated by a digitalmodulator system 38 for transmission over the network 14. Digitalinformation that includes video programming is preferably modulated atfrequencies greater than the standard analog television frequency range,which is 50-450 MHz under the NTSC television standard. Digitalinformation that does not include video programming may be modulated atbaseband frequencies that are less than the standard analog televisionfrequencies, modulated at frequencies between the standard analogtelevision frequencies, or modulated at frequencies above the standardanalog television frequencies.

[0027] The head end 12 may be provided with analog signals through ananalog feed 40. The analog signals provided to the head end may bestandard analog video signals for conventional cablecast of televisionprograms or other analog information. A multiplexing system 42 receivesand mixes the frequency modulated digital information from the digitalmodulator system 38 and analog signals obtained from the analog feed 40and delivers a composite signal to the interactive network 14 where itis made available to viewer stations 16. A reverse channel receiversystem 44 receives and demodulates communications from the viewerstations 16 for processing by the servers 26.

[0028] Preferably, the network 14 carries such bidirectionalcommunication between the viewer stations 16 and the head end 12.Alternatively, communication between the viewer stations 16 and the headend 12 can be carried by different communication systems. For example,communication from the head end 12 to the viewer stations 16 could becarried on a satellite downlink while communication in the otherdirection is carried on a terrestrial modem link.

[0029] A simplified block diagram of an exemplary viewer station 16 isillustrated in FIG. 2. The illustrated viewer station includes aninteractive station controller 18 which is sometimes referred to as aset top box, at least one video display 20 such as a television, and aninput device 22 such as an infrared remote control. Although it is showndistinct from the video display 20, the interactive station controller18 could alternatively be integral with the video display 20.

[0030] The interactive station controllers 18 transmit information toand receive information from the head end 12. The information typicallyrelates to applications executed by processors residing at the head end12 and the interactive station controller 18, as described below ingreater detail.

[0031] The interactive station controller 18 controls the video display20 and communicates with the head end 12. Controlling the video display20 of a conventional analog type may include, for example, delivering ananalog video signal directly to the video display 20 for display on ascreen 46, converting a digital video signal to a suitable analog formfor display, generating a video signal for display, or executing anapplication that includes displays on video display 20.

[0032] The interactive station controller 18 includes an input 48 fromthe network 14 that delivers communications or information from thecentral head end 12 to a communication interpretation system 50 having,for example, an analog television demodulator 52, a digital videodecoder 54, and a digital network communication interface 56. Thedemodulator 52 functions as a conventional television tuner forselecting one or more of multiple conventional analog video signalspresent at the input 48. The video decoder 54 functions as a digitalequivalent of demodulator 50 for selecting one or more of multipledigital video signals present at input 48. The network communicationinterface 56 communicates with digital information which may be carriedover baseband frequencies below the conventional analog video signalfrequencies, over frequencies between conventional analog video signalfrequencies, and over frequencies above conventional analog video signalfrequencies.

[0033] A central processing unit (CPU) 58 in conjunction with a memorysystem 60 controls operation of the interactive station controller 18.For example, the CPU 58 controls selection of analog-based programming,digital-based programming or applications delivered from the head end12, accesses or activates selected applications, or delivers informationto or requests information from the head end 12.

[0034] The interactive station controller 18 also may include a graphicssubsystem 62 that is controlled by the CPU 58 to form graphics images,including user interface displays, on the video display 20. A videoprocessor subsystem 63, also controlled by the CPU 58, provides controlin generating and displaying video images. A mixer 64 receives theprogramming or applications signals received from the central head end12 or CPU 58, graphics image signals from the graphics subsystem 62, andvideo image signals from the video processor subsystem 63 and delivers amixed image signal to the video display set 20. As used here, mixing mayinclude compositing, blending, and masking of image sources such asdigital video, analog video, locally generated graphics and variousoverlays and bitmap images.

[0035] The interactive station controller 18 also includes an infraredreceiver and decoder system 66 that receives user input from the userinput device 22 and delivers the input to the CPU 58. The input device22 can be used by a user of the interactive viewer system 10 to inputcommands. The input device 22 is provided with a number of keys whichmay be pressed by a user to input commands. Based upon the keys pressedby a user, the input device 22 generates and emits infrared signals.These signals are detected by the infrared receiver and decoder system66 of the interactive station controller 18, decoded, and provided tothe CPU 58. The commands may be processed by the interactive stationcontroller 18, may be communicated to the head end 12 for processing, ora combination of both. In the example system illustrated in FIG. 2, theinput device 22 is a hand-held infrared remote control.

[0036] The illustrated input device includes at least a menu key 68, anaction key 70, a channel up/down key 72, a navigation key 74, and anumeric keypad 76. Using the channel up/down key, the navigation key orthe numeric keypad, the user may launch the informational serviceapplication by turning to a designated channel. The use and function ofthe action key 70 on the input device 22 is described further below.

[0037] The illustrated interactive television information systemsequentially displays a plurality of video segments on a user's videodisplay. At least one of the video segments is associated with anotherproduct, program, or service available to the user on the interactiveviewing system 10. For example, a video segment may be a promotionalclip of a full-length program available on a pay-per-view channel. Ifthe user wants to purchase the full-length program, the user can selectthe video segment by, for example, pressing the action key 70 while thevideo segment is being shown. Upon selection of the video segment, theinteractive information system transfers control to the pay-per-viewchannel for ordering or viewing of the selected program. Of course, avideo segment could be associated with a variety of programs, servicesor applications other than a pay-per-view channel. Upon selection ofsuch a video segment, the information service system would transfercontrol to the appropriate program, service or application. In someinstances, the transfer may include the transfer of information for useby the associated program, service or application. For example, aparameter (e.g. title) such as state information associated with thecurrently displayed video segment may be transferred to the launchedapplication.

[0038]FIG. 3 is a top-level flowchart of an exemplary interactiveinformation system adapted to provide informational messages and allow auser to immediately respond to the informational messages without theneed for another communication medium, such as a telephone or a mailservice. In steps 78 and 80, video segments are provided by the head end12 and are sequentially displayed on the video display 20. The videosegments may be any desired length, but typically range from a fewseconds to a few minutes. At least some of the video segments areassociated with one or more of many programs, services or applicationsavailable in the interactive viewing system. Although the video segmentsare sequentially displayed, they may be displayed in any desired order.In some embodiments, the content or sequence of the video sequence maybe specially customized for a particular user or category of user.

[0039] As illustrated in step 81, the system monitors the input device22 to detect whether a user has activated any commands. In theillustrated system, monitoring is accomplished by the CPU 58 (FIG. 2),which receives information from the infrared receiver and decoder system66. Other systems may be used to monitor for user input. For example,the input device can be a computer keyboard, joystick, or the likewhich, contain integrated circuits that monitor for user input. Voicerecognition circuits may also be used, so that the interactive viewingsystem may monitor for user audible commands.

[0040] As represented at step 82, the interactive information system maylaunch an application or service associated with the currently displayedvideo segment in response to a user input command. By launching anotherapplication or service, the information system directly communicateswith other applications and services in the interactive viewing system.If no user input commands are detected, then the information systemcontinues to sequentially display video segments in step 80.

[0041] Step 83 illustrates that the interactive information system mayalso transfer a parameter such as state information to the launchedapplication. The parameter may be associated with the video that wasbeing displayed when the user activated the input device. Alternatively,the transferred information may be associated with the user of thesystem. Transferring a parameter may be a powerful tool allowingdifferent applications and services in the interactive viewing system tocommunicate together. For example, a viewer may view a video segmentrelated to a product that they wish to purchase. Upon activating acommand on the input device, the interactive information system canlaunch a check out window application to allow the user to purchase thatproduct. The information system may pass to the check out windowinformation, such as an item number or name of the desired product,needed by the check out window application to complete the desiredtransaction.

[0042]FIG. 4 illustrates an exemplary display 84 on the video screen 46used by the exemplary interactive information system. The illustrateddisplay represents one of a plurality of video segments displayed asindicated in step 80 of FIG. 3. The display 84 is a composite videoimage having a number of visual elements, such as an information panel85, a violator panel 86, and a channel logo 88. The information panel 85appears as a bottom layer with the violator panel and channel logooverlapping a lower portion of the information panel. The informationpanel 85 covers a majority of the screen and is the region where videosegments are displayed. The illustrated information panel shows, forexample, a short video promotion of a program or service that isavailable on another channel in the interactive television system, aswill be further described.

[0043] The violator panel 86 is a bitmap graphic informational displaylayered on top of the information panel and can be used for displayingtext. The text provides additional information or highlights conceptsrelated to a currently displayed informational message on theinformation panel. For example, the illustrated violator panel 86indicates that the informational message relates to a program playing onchannel 8. In this manner, the violator panel can be used to inform orprompt a user of various options associated with the displayedinformational message. For example, activating the action key 70 duringthe display illustrated in FIG. 4 will automatically change theinteractive television channel to channel 8, where the current movie,service or show is being displayed. Thus, depression of a single keywill act to launch another application available through the interactivetelevision information service system.

[0044] The channel logo 88 is also a bitmap graphic layered on top ofthe information panel and is used in the illustrated embodiment toidentify the currently viewed channel, such as a network company or athird-party marketing company. The bitmaps may be created using a 24-bitpalette and then converted to a single 8-bit palette using a ditheringalgorithm. The described layout of the video display may of course bealtered based on the application. For example, the information panel andchannel logo may be excluded altogether from the display if desired.

[0045]FIG. 5 is a flow chart of an example software routine for theillustrated interactive information system. At the time of systeminitialization 89, as a first step 90, the information service systemreads a script database and a sound file from the head end continuousmedia servers 32. The script database and sound file provide data suchas timing, sizing, bitmap overlays, and the order that video segmentsare to be displayed so that the information system can sequence througha series of video segments.

[0046] In the illustrated embodiment, the script database and sound fileare stored in memory 60 (FIG. 2) in the interactive station controller18 as shown by step 92. A user can launch the information system byusing the input device to change to a channel associated with thesystem. When the information service system is launched, all stateinformation is reset at step 94. Thus, after initialization, the firstvideo segment in the sequence will be displayed.

[0047] Step 96 is an entry point for a main loop shown by arrow 100.Step 96 indicates that the script is interpreted. Interpretation of thescript is a process (described more fully below) by which theinformation system determines which video segments and bitmap overlaysare to be displayed.

[0048] After the script is interpreted, step 102 indicates that thevideo segments and bitmaps to be displayed are requested from the headend. During this step, the information system requests the head endcontinuous media servers 32 to provide a desired video segment and anynecessary bitmaps based on the information system's interpretation ofthe script. The bitmaps may contain graphics information necessary forthe display of the violator panel 86 and channel logo 88 (FIG. 4).

[0049] Bitmaps read from the head end are stored in the memory 60 as isindicated by step 104. Preferably the bitmaps will be stored in a cachememory (not shown) located in the memory 60. Alternatively a dedicatedcache may also be used. The stored bitmaps may be used later by theinformation service system to avoid unnecessary repetition of readingbitmaps from the head end.

[0050] The video segments and bitmaps are then displayed on the videodisplay 84 as is represented by box 106. The display may be similar inappearance to that shown in FIG. 4. Of course, those in the art willrecognize that a wide variety of displays and display elements couldalso be used in implementing the interactive information system.

[0051] State information is updated and stored in memory 60 during thisprocess, as shown by step 108, to indicate the current status of thescript, such as which video segment is currently being displayed. Asindicated by arrow 100, after updating the status, the informationsystem will loop back to the interpretation step 96 so that it willrepetitively interpret the script and request video segments and bitmapsto be displayed. Thus, the information system will sequentially playvideo clips as called out by the script database until the user takesaction.

[0052] As illustrated at step 112 of FIG. 5, a user may exit theinformation system by changing the channel using input device 22. Thesystem may be configured so that the step 112 can occur anywhere betweensteps 96 and 108. Alternatively, the time during which a user may changethe channel, can be restricted. For example, the system may beconfigured to accept user commands only when the violator panel 86 (FIG.4) is displayed. This configuration may help to avoid themisinterpretation of a command given near a transition from one videosegment to another. The user may also press the action key, illustratedat step 114. Pressing the action key causes the interactive informationsystem to perform a predetermined action, such as launching anotherapplication or service, associated with the displayed video segment. Bylaunching another application or service, the information systemdirectly communicates with other applications and services as will befurther described. The applications or services can be located on otherchannels or they can be associated with the information system itself.

[0053] The user may reenter 116 the information system after exiting orlaunching another application by returning to the designated channelassigned to the information system. Upon reentry, the state informationwill be reset so that the information system will start the script atthe beginning. However, any cached bitmaps that remain intact fromearlier use and may be re-utilized by the information system.

[0054]FIGS. 6 and 7A-7D show the hierarchical data structure 120 ofobjects used by the illustrated embodiment of the information system toimplement the sequential display of a plurality of video segments and toidentify parameters that should be passed if the action key 70 isdepressed. The structure also provides additional information such asthe location of bitmap displays (text, channel logos, etc.) overlappingthe video segments. FIG. 6 is a generic schematic diagram showing theinterrelationship between different objects in the information systemwhile FIG. 7 is a specific example of the hierarchical data structure120. This data structure defines the script of video segments to bedisplayed and is interpreted in step 96 of FIG. 5.

[0055] Illustrated from top to bottom in FIG. 6, the hierarchicalstructure includes at the top-most level a schedule object 122 (alsocalled the schedule) followed by script objects 124 (also calledscripts), page objects 126 (also called pages), control frame objects128 (also called control frames), and control objects 130 (also calledcontrols). The hierarchy is structured, to have specific parent-childrelationships between the objects as indicated by connecting arrows 132.For example, schedule object 122 is a parent to script objects 124 a,124 b and 124 c. Script object 124 a is a parent to page objects 126 aand 126 b, while script objects 124 b, 124 c are parents to other pages(not shown) and so forth. The parent-child relationships are not limitedto those shown in FIG. 6. For example, script objects may also have aparent relationship to other script objects and page objects can beparents to other page objects. Additionally, although the hierarchy isshown having control objects 130 (child) controlled by control frameobjects 128 (parent), which are in turn controlled by page objects 126(grandparents), which are controlled by script objects 124 (greatgrandparents) and so on, any generation in the hierarchy can beby-passed. For example, script objects may have a parent relationship tocontrol frames. It will be recognized that only a portion of the treestructure is illustrated in FIG. 6.

[0056] The schedule object 122 is used by the interactive informationsystem to determine which script object in the current database shouldbe used for processing. The schedule object of the illustrated systemcontains a script name designating which script object should beexecuted and a start and end time. FIGS. 7A and 7B show a script 140named “morningbarkerloop” and having a start time 142 of Apr. 15, 1995at 9:00 AM and an ending time 144 of Dec. 31, 1999 at 11:59 PM. Thestart and end time will allow the information system to compare thesetimes to the system clock and correspondingly execute the designatedscript object within these intervals.

[0057] Although only one schedule object is shown, any number ofschedule objects can be used with varying start and end times.Conversely, if only one script object is to be run at all times, thenthe scheduler need not be implemented.

[0058] At a level below the schedule object 122 are the script objects124. Script objects can control any desired number of page objects 126allowing the pages to be sequenced and scheduled in relative time. Thescript objects contain a name field 146 so that the schedule object canidentify a designated script object. FIG. 7A shows three names 125 a,125 b, and 125 c in name field 146. The script objects also have a starttime field 148 labeled as “start at” and an end time field 150 labeledas “repeat until” which allows the script objects to be repeated untilan absolute designated time (based on the system clock). The start timefield may be set to zero, in which case the actual start time will becontrolled by either the schedule object 122 having a parentrelationship to the script objects 124 or by other script objects whichare parents to the script. In this way, the script objects can haveeither absolute or relative start times. In the case of FIG. 7A, a“null” character in the end time field 150 indicates that timinginformation is controlled by other fields or other objects. In thisexample, a “repeat for” field 152 allows the script to be repeated fromthe time duration specified. The start and end time fields have thefollowing format: yy:mo:dd:hh:mi:ss:ff where yy is the last two digitsof the year, mo is the number of the month, dd is the date of the month,hh is the hours on a 24-hour clock, mi is the minutes and ss is secondsand ff is a frame number being a number between 0 and 29 to representthe NTSC standard of 30 frames per second.

[0059] At a level below the script objects 124 are the pages 126. Thepages implement single screens and provide the controls for the screenand the relative timing information that allows the controls to beappropriately placed. The pages include a name field 154, allowing themto be used by multiple scripts. The pages also have a start time field156 which allows the page to begin execution relative to its parentscript and an ending time 158. In the case of FIG. 7A, the ending time158 is designated a “null” so that the control frames will dictate theduration as will be further described.

[0060] The next level in the hierarchy is made up of the control frames128 (FIG. 7B). Control frame objects add position and schedulinginformation to the basic display controls. The control frames include aname field 160, so that they can be used by multiple pages, a controlfield 162 which identifies the child relationship of a control object, aposition pair 164 which designates the coordinates at which to place theidentified control objects, a start time field 166, which is a relativetime to its parent page, an end time field 168, which is the time thecontrol frame stops processing relative to its parent page (specified asa negative), a duration 170 indicating the length of the control frame,and an “on action” field 172 which indicates what action the informationsystem will perform when an action key 70 is pressed.

[0061] Thus, using the “on action” field, the system can interact withother channels or services in the interactive viewing system 10.Additionally, parameters, such as state information, can be passed tothe other channels or services. For example, as the script is beingdisplayed, various video segments are being sequentially played, whenthe user depresses the action key 70, the information system willimmediately transfer control to another application or service bylaunching the identified object in the “on action” field. The title ofthe video segment displayed at the time of depression of the action keycan be passed as a parameter (e.g., global or an argument in a callroutine). The name of the video segment to be passed can be found in thecontrol field 162, for example. Other parameters and information mayalso be passed to the designated application or service. The informationsystem can also enter the other channels or services at variablelocations. For example, a movies-on-demand application may be availableon another channel. That application, when launched on its own, mayinclude an introductory portion which displays information and allows auser to select a desired movie. Once a user selects a desired movie, themovies-on-demand application may switch to a check-out screen to allowpurchase of the movie. The information system can interact with themovies-on-demand and, in the event that a user has already selected amovie, bypass the introductory portion and transfer directly to thecheck-out screen. In addition, the information system can pass the titleof the movie as well as other necessary purchasing information to themovies-on-demand application to facilitate a user's purchase of thedesired movie. After completing the appropriate check-out sequence athird application may be executed to display the movie.

[0062] The lowest level in the hierarchy is comprised of control objects130.

[0063] These objects are called out by control frames and specify thecomplete physical appearance of on-screen objects. The control objects,illustrated in FIG. 7C, may include video control 176, bitmap control178, and text control 180.

[0064] Video and bitmap control objects 176,178 both include name fields184, 186 so that they can be called out by control frames, contentfields 188, 190 which is a name identifying the content of the videodisplayed, and an extent field 192, 194 specified as an (x,y) pair forsizing if necessary.

[0065] Text control objects include a name field 200 so that controlframes can call out the text control objects, a text value field 202,which is the quoted string to be displayed, a font field 204, and a sizefield 206. Other fields may be added such as a color field.

[0066] Pushbutton objects 182 include a name field 208 so that they canbe called out by control frames, an extent field 210 used for sizing ofthe pushbutton, and a resourceid field 212, used to identify the bitmapused in conjunction with the button face.

[0067] An include Table 216 (FIGS. 7C and 7D) is used to indicate parentand child relationships between the objects. For example, any scripts inthe table will list pages that the script will display, and the pageswill list control frames, which will in turn list controls. The includetable 216 has a parent type field 218, parent name field 220, child typefield 222, and child name field 224. The parent type and parent namefields identify the parent in the hierarchy that is identifying a childtype and child name to be displayed.

[0068] In operation, and using the data structure shown in FIGS. 7A, 7B,7C and 7D, the morning barker loop is called out in schedule object 122to be displayed from Apr. 15, 1995 to Dec. 31, 1999. The include table216 indicates at lines 226, 228 that the morning barker loop willdisplay the “NineAMLoop” and the “TenAMLoop”. The script objects willexecute the NineAMLoop at its designated start time (found in field 148of script 124) of 9 AM for 1 hour as is called out in the Repeatforfield 152. After completion of the hour, the TenAMLoop will begin beingdisplayed at 10 AM for 2 hours.

[0069] Lines 230 and 232 in the include table 216 indicate that theNineAMLoop will display a MODAdScreen and a PPVAdScreen. The “Startat”field 156 of Page 126 indicates a relative time of zero meaning that theMODAdScreen will be displayed at 9 AM (controlled by the parentNineAMLoop). The PPVAdScreen will be displayed starting 23 seconds afterthe start of the MODAdScreen as indicated in the “Startat” field.

[0070] Lines 234, 236, 238, 240 and 242 in the include table 216indicate the bitmap overlays that will be displayed with theMODAdScreen. Specifically, the frames listed in the “childname” columnwill be displayed, namely, MODAd, JumpButtonMOD, NetOpLogoPlay,MODLine1Play, and MODLine2Play. Line 244 of control frame 128 indicatesthe MODAd will start at the beginning of the 9 AM loop (start timedefaults to parent) and run for a duration of 22 seconds. MODAd is aparent for the control MODAdVideo as indicated in the control frametable in the control field 162 or in the include table 216 at line 246.

[0071] JumpButtonMOD can also be found in control frame 128 at line 248.The start time field 166 indicates that the jump button will bedisplayed 4 seconds after the start of MODAd and end 4 seconds beforethe end of MODAD. The jump button may be, for example, the violatorpanel 86. If the action key 70 is pressed, then the MSMOD routine listedin the “on action” field 172 is executed to launch a new channel orservice in the illustrated example, a Movies-on-Demand applicationassociated with the interactive viewing system. State information orother information may be passed to MSMOD as well. Additionally, passingstate information indicates to the new channel or service whatpromotional information was being displayed when the user pressed theaction key. Thus, in a single step (depression of the action button) theuser can transfer control and information related to which promotionbeing displayed to another channel or service. NetOpLogoPlay,MODLine1Play, and MODLine2Play can also be found in the control frametable 128 at lines 250, 252 and 254, respectively, and function similarto MODAD and JumpButtonMOD described above.

[0072] It is best to preserve a 3 to 4 second buffer between the page'sinitiation and termination and all enclosed control frames. For examplethe jump button (violator panel 86) will be displayed 4 seconds afterstarting and disappear 4 seconds before ending of the video segment.During the time the jump button is visible, the action key can beselected. The jump button may also fade in after the promotion hasstarted and fade out prior to the end of the promotion. The system maybe configured to only allow the user to launch another applicationduring the time the violator panel 86 is visible on the screen. Thisprevents the user from inadvertently selecting the wrong action duringthe transition between video segments.

[0073] At the control level, MODAd will control MODAd Video, which canbe found in Video Control 176. Similarly, JumpButtonMOD will controlInvisibleJumpButton found in PushButton Control 182.

[0074] Thus, the present invention provides an interactive televisionsystem with an information system in which a user can immediatelyrespond to informational messages without the need for anothercommunication medium, such as a telephone or a mail service. Theinteractive information system provides informational messages on achannel that may prompt a user to select an associated action. If anaction is selected, the system transfers control to other channels orservices related to the informational messages.

[0075] The interactive information system may be used in a variety ofapplications such as impulse shopping, where an interested shopper hasan immediate opportunity to buy an advertised product or service;network operator's services, where viewers may order new channels orservices and have them immediately available, without telephone calls ormail; selling advertising space, where network operators can selladvertising space to local or national advertisers; polling or voting,where viewers may express themselves via “straw polls” or comment on thequality of services available; and market research, where theinteractive information system may capture information of products,programs or services that users purchase.

[0076] This detailed description is set forth only for purposes ofillustrating examples of the present invention and should not beconsidered to limit the scope thereof in any way. Clearly, numerousadditions, substitutions, and other modifications can be made to theinvention without departing from the scope of the invention which isdefined in the appended claims and equivalents thereof.

I claim:
 1. An interactive television system for displaying videosegments on a television and for receiving user input related to thevideo segments, comprising: a script providing an order that a pluralityof video segments are displayed and timing information related to anamount of time the video segments are displayed; the script including: ascript object including a name field that identifies at least first andsecond different series of video segments that are displayed on thetelevision, only one of which is displayed at a time in a continuousloop, and a timing field identifying a time the first series of videosegments are displayed on the television in a continuous loop and a timethat the second series of video segments are displayed on the televisionin a continuous loop; and a control frame that includes multiplecontrols related to bitmaps that are displayed overlaying the videosegments; the control frame including a name field that identifies aparticular control, a duration field that indicates the length of timethe control is displayed overlaying the video segment, and an actionfield that indicates an action to take based on user input that occurswhile the control is displayed on the television; the action field foridentifying an application to launch that is associated with a currentlydisplayed video segment in response to user input.
 2. The interactiveviewing system of claim 1 wherein the control frame further includesposition information indicating a position that a bitmap is to bedisplayed on a video segment.
 3. The interactive viewing system of claim1 wherein the control is displayed on the video segment a predeterminedperiod of time after the start of the video segment to prevent the userfrom inadvertently selecting the wrong action during a transitionbetween video segments.
 4. The interactive viewing system of claim 1wherein the control is removed from the video segment a predeterminedperiod of time before the end of the video segment to prevent the userfrom inadvertently selecting the wrong action during a transitionbetween video segments.
 5. The interactive viewing system of claim 1further comprising a table having a parent field and a child field thatestablishes a parent child relationship between the script object andthe control frame.
 6. The interactive viewing system of claim 1 furtherincluding a page object that establishes the different screens that aredisplayed on the television during a video segment.
 7. The interactiveviewing system of claim 1 wherein each of the video segments has a titleassociated therewith and based on user input, the title of the currentvideo segment is passed to the launched application identified in theaction field.
 8. The interactive viewing system of claim 1 wherein thetiming information provided by the script is an actual time synchronizedto the system clock.
 9. The interactive viewing system of claim 1wherein the timing information provided by the script is a relative timethat is relative to a starting time of the script.
 10. An interactivetelevision system, comprising: at least one server computer; acontroller including a central processing unit coupled to a memory and amixer, the controller coupled to the at least one server computer forreceiving a plurality of video segments from the server; a televisioncoupled to the controller; the mixer responsive to the centralprocessing unit for displaying video segments on the television receivedfrom the at least one server and for displaying user interface displaysthat overlay the video segments; a user input device for delivering userinput to the central processing unit; and a script stored in the memoryof the controller, the script including a control frame that includes aname field identifying a particular user interface display overlaying avideo segment and an action field that indicates an application tolaunch based on a single user input received from the user input devicewhile the user interface display is displayed on the television.
 11. Theinteractive television system of claim 10 wherein the script furtherincludes: a script object including a name field that identifies atleast two different series of video segments and timing informationrelated to an amount of time the different series of video segments areplayed on the television.
 12. The interactive television system of claim10 wherein the control frame further includes position informationindicating the position that the user interface display is displayed ona video segment.
 13. The interactive television system of claim 10wherein each of the video segments has a title associated therewith andbased on user input, the title of the current video segment is passed tothe launched application.
 14. A method of providing user control in aninteractive television system, comprising the steps of: reading a scriptthat identifies a plurality of video segments and provides timinginformation identifying a duration that the video segments are displayedon a television; providing an action field within the script, the actionfield for identifying an application associated with a video segment tolaunch in response to user input; displaying the video segments on thetelevision in accordance with the timing information identified in thescript; in response to a single input from a user input device, readingthe script to obtain the action field within the script that isassociated with the current video segment; and using the applicationidentified in the action field to launch the application.
 15. The methodof claim 14 wherein the script includes a script object that includes aname field for identifying multiple series of video segments, only oneof which is displayed on the television at a time, the script objectfurther including a timing field indicating a start time for each of themultiple series of video segments identified in the name field.
 16. Themethod of claim 14 wherein the script includes titles associated withthe video segments and further including transferring at least one ofthe titles to the application when user input is received, the titlerelating to a currently displayed video segment.
 17. The method of claim16 wherein the title is transferred to the application as a globalargument.
 18. A computer-readable storage medium having stored thereininstructions capable of causing a computer to execute the method stepsof claim
 14. 19. In an interactive viewing system having a head end intwo-way communication with a plurality of viewer stations, the viewerstations having a video display operatively coupled to a controller andan input device for providing user commands to the controller, theinteractive viewer system allowing a user to selectively launch at leastone of a plurality of applications, a method for launching a selectedapplication comprising the steps of: providing from the head end to aviewer station a plurality of video segments, at least one of the videosegments being associated with one of the plurality of applications;providing a hierarchical database identifying the order the videosegments are to be played, the titles of the video segments, and timinginformation related to the length of the video segments; displaying theplurality of video segments, one segment at a time, on the videodisplay; overlapping the sequentially played video segments with bitmapinformational displays; monitoring to detect from the input device acommand indicating selection of the currently displayed video segment;launching an application associated with the currently displayed videosegment in response to the detection of the command; and transferring aparameter associated with the currently displayed video segment to thelaunched application.
 20. A computer-readable storage medium havingstored therein instructions capable of causing a computer to execute themethod steps of claim 19.